/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package dao.utilisateur;

import entities.utilisateur.AbstractRepondant;
import entities.utilisateur.AbstractUtilisateur;
import entities.utilisateur.Createur;
import entities.utilisateur.RepondantAnonyme;
import entities.utilisateur.RepondantAuthentifie;
import java.util.List;
import javax.ejb.EJB;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.RequestScoped;

/**
 *
 * @author aurelien.emery
 */
@ManagedBean
@RequestScoped
public class TestUtilisateur {

    /** Creates a new instance of TestUtilisateur */
    public TestUtilisateur() {
    }

    @EJB
    private DaoAbstractUtilisateurLocal daoAbstractUtilisateur;

    @EJB
    private DaoAbstractRepondantLocal daoAbstractRepondant;

    @EJB
    private DaoCreateurLocal daoCreateur;

    @EJB
    private DaoRepondantAuthentifieLocal daoAuthentifie;

    @EJB
    private DaoRepondantAnonymeLocal daoAnonyme;


    public void tester(){
        testAbstractUtilisateur();
        System.out.println("-------------------------------------------------------------------");
        testAbstractRepondant();
        System.out.println("-------------------------------------------------------------------");
        testCreateur();
        System.out.println("-------------------------------------------------------------------");
        testAuthentifie();
        System.out.println("-------------------------------------------------------------------");
        testAnonyme();
        System.out.println("-------------------------------------------------------------------");

    }

    private void testAbstractUtilisateur() {
        System.out.println("test DaoAbstractUtilisateur");
        try {
            int nb = daoAbstractUtilisateur.count();
            if (nb <= 0) {
                System.err.println("echec de count : aucun enregistrement");
            } else {
                System.out.println("nb enregistrement : " + nb);
            }
            List<AbstractUtilisateur> qc = daoAbstractUtilisateur.findAll();
            if (qc.isEmpty()) {
                System.err.println("echec de findAll : liste vide");
            } else {
                for (AbstractUtilisateur util : qc) {
                    System.out.println(util.getClass()+" : "+util.getNom()+" "+util.getPrenom());
                }
            }
        } catch (Exception ex) {
            System.err.println("echec count DaoAbstractUtilisateur : " + ex.getClass().toString());
        }
    }

    private void testAbstractRepondant() {
        System.out.println("test DaoAbstractRepondant");
        try {
            int nb = daoAbstractRepondant.count();
            if (nb <= 0) {
                System.err.println("echec de count : aucun enregistrement");
            } else {
                System.out.println("nb enregistrement : " + nb);
            }
            List<AbstractRepondant> qc = daoAbstractRepondant.findAll();
            if (qc.isEmpty()) {
                System.err.println("echec de findAll : liste vide");
            } else {
                for (AbstractUtilisateur util : qc) {
                    System.out.println(util.getClass()+" : "+util.getNom()+" "+util.getPrenom());
                }
            }
        } catch (Exception ex) {
            System.err.println("echec count DaoAbstractRepondant : " + ex.getClass().toString());
        }
    }

    private void testCreateur() {
        System.out.println("test DaoCreateur");
        try {
            int nb = daoCreateur.count();
            if (nb <= 0) {
                System.err.println("echec de count : aucun enregistrement");
            } else {
                System.out.println("nb enregistrement : " + nb);
            }
            List<Createur> qc = daoCreateur.findAll();
            if (qc.isEmpty()) {
                System.err.println("echec de findAll : liste vide");
            } else {
                for (AbstractUtilisateur util : qc) {
                    System.out.println(util.getClass()+" : "+util.getNom()+" "+util.getPrenom());
                }
            }
        } catch (Exception ex) {
            System.err.println("echec count DaoCreateur : " + ex.getClass().toString());
        }
    }

    private void testAuthentifie() {
        System.out.println("test DaoAuthentifie");
        try {
            int nb = daoAuthentifie.count();
            if (nb <= 0) {
                System.err.println("echec de count : aucun enregistrement");
            } else {
                System.out.println("nb enregistrement : " + nb);
            }
            List<RepondantAuthentifie> qc = daoAuthentifie.findAll();
            if (qc.isEmpty()) {
                System.err.println("echec de findAll : liste vide");
            } else {
                for (AbstractUtilisateur util : qc) {
                    System.out.println(util.getClass()+" : "+util.getNom()+" "+util.getPrenom());
                }
            }
        } catch (Exception ex) {
            System.err.println("echec count DaoAuthentifie : " + ex.getClass().toString());
        }
    }

    private void testAnonyme() {
        System.out.println("test DaoAnonyme");
        try {
            int nb = daoAnonyme.count();
            if (nb <= 0) {
                System.err.println("echec de count : aucun enregistrement");
            } else {
                System.out.println("nb enregistrement : " + nb);
            }
            List<RepondantAnonyme> qc = daoAnonyme.findAll();
            if (qc.isEmpty()) {
                System.err.println("echec de findAll : liste vide");
            } else {
                for (AbstractUtilisateur util : qc) {
                    System.out.println(util.getClass()+" : "+util.getNom()+" "+util.getPrenom());
                }
            }
        } catch (Exception ex) {
            System.err.println("echec count DaoAnonyme : " + ex.getClass().toString());
        }
    }
}
